The forward projection algorithm described he, rein is primarily described in the context of image reconstruction in a positron emission tomography (PET) scanner. The algorithm, however, can be utilized in other image reconstruction modalities which implement forward projection, such as computed tomography (CT). Therefore, the discussion regarding PET image reconstruction describes, by way of example, one of the many modalities in which the present forward projection algorithm may be implemented.
PET scanners are utilized to generate images of, for example, portions of a patient's body. Positron attenuation data and/or annihilation events are utilized in generating such images. Positrons (a positron is the antiparticle of the electron) are emitted by radionuclides that have been prepared using a cyclotron or other device. The radionuclides are employed as radioactive tracers called "radiopharmaceuticals" by incorporating them into substances, such as glucose or carbon dioxide. The radiopharmaceuticals are injected into the patient and become involved in such processes as blood flow, fatty acids, glucose metabolism, and synthesis.
Positrons are emitted as the radionuclides decay. The positrons travel a very short distance before encountering an electron, and when that occurs, the position and electron annihilate emitting two photons directed in nearly opposite directions.
For detecting such events, the PET scanner has a plurality of detectors, such as, for example, a ring of detectors that encircle the patient. The detectors comprise crystals, referred to as scintillators, to convert the energy of each 511 keV photon into a flash of light that is sensed by a photomultiplier tube. Coincidence detection circuits connect to the detectors and record only those photons that are detected simultaneously by two detectors located on opposite sides of the patient. The number of such simultaneous events indicates the number of positron annihilations that occurred along a line joining the two opposing detectors. During a scan, hundreds of millions of events are detected and recorded to indicate the number of annihilation events along lines joining pairs of detectors in the ring. The collected data is used to reconstruct an image. Further details regarding PET scanners are set forth in U.S. Pat. Nos. 5,378,893, 5,272,343, and 5,241,181, all of which are assigned to the present assignee.
During a two dimensional acquisition with a PET scanner, annihilation events are assumed to occur between detector pairs around the ring transaxially. During volumetric (three dimensional) acquisition of annihilation events with a PET scanner, the events are assumed to occur between detector pairs around the ring of detectors transaxially and between rings of detectors axially. Although volumetric acquisitions greatly enhance the number of events detected by the system, the data collection is spacially variant over the axial length. The axial spacial variance occurs because there are events which are detected within the scanner by one detector which cannot be detected by a second detector at non-zero axial angle (the events exit the system through the end of the scanner). This "missing data" greatly complicates volumetric data reconstruction.
The most generally accepted method to overcome the "missing data" problem is to first perform a two dimensional reconstruction, typically by filtered back projection, of the data which can be completely measured by the system. The missing data is then estimated by forward projecting from the initial reconstruction of the measured data. Forward projection refers to the projection of data from image space to projection space. The reconstruction process is then completed by merging the forward projected data with the measured data, and then performing a three dimensional reconstruction of the merged data set.
For example, in a known PET scanner, the image matrix to be forward projected is of the size x=y=256 and z=35. To complete the data set, a total of 13,218,240 forward projections are performed. In conventional implementation, the forward projections are organized as 1,888,320 sets with a run length of 3, 5, 7, 9, or 11 points per set. Performance is adversely affected by these short run lengths (vectors) since the processors cannot take advantage of data pipelining optimizations. As a result, the vector processing efficiency is degraded. To perform such forward projections, it is highly desirable to use high performance processors incorporating optimizations such as data pipelining which are supported by vector libraries.